package cn.jilian.trans.bizz.service;

import java.util.List;
import java.util.Map;

import cn.jilian.common.dto.PageInfo;
import cn.jilian.common.dto.PageResult;
import cn.jilian.common.dto.SortInfo;
import cn.jilian.entity.EleOrderItem;
import cn.jilian.entity.EscOrderItem;
import cn.jilian.entity.Order;
import cn.jilian.entity.OrderItem;
import cn.jilian.trans.bizz.dto.TransOrder;

/**
 * 货源订单服务
 * */
public interface OrderService {
	
	
	/**
	 * 查询物流订单
	 * @param orderId 订单ID
	 * */
	Order queryOrderBySid(long orderId);
	
	/**
	 * 查询物流公司待报价的订单
	 * @param transId 物流公司ID
	 * */
	List<TransOrder> queryUnpostOrders(long transId);
	
	/**
	 * 查询订单详情
	 * @param orderId 订单ID
	 * */
	List<OrderItem> queryDetails(long orderId);
	
	
	/**
	 * 查询订单中的扶梯货物列表
	 * @param orderId 订单ID
	 * */
	List<OrderItem> queryEscaltors(long orderId);
	
	/**
	 * 查询订单中的直升电梯货物列表
	 * @param orderId 订单ID
	 * */
	List<OrderItem> queryElevators(long orderId);
	
	/**
	 * 新增订单
	 * */
	long add(Order order);
	
	/**
	 * 新增直升电梯订单项目
	 * */
	EleOrderItem add(EleOrderItem item);
	
	/**
	 * 新增扶梯订单项目
	 * */
	EscOrderItem add(EscOrderItem item);
	
	/**
	 * 保存物流订单
	 * */
	int save(Order order);
	
	/**
	 * 
	 * */
	PageResult<Order> query(Long unid,String name,String startDate,String endDate,Integer flag,PageInfo pageInfo,SortInfo sortInfo);
	
	
	/**
	 * 保存选定的产品到指定的订单
	 * */
	int saveItems(Long fid,List<Map<String,Object>> items);

}
